In-Context Edit
https://gyazo.com/39ff5c271a0c1d5f48056064e89c81bd
https://arxiv.org/abs/2504.20690In-Context Edit: Enabling Instructional Image Editing with In-Context Generation in Large Scale Diffusion Transformer
https://github.com/River-Zhang/ICEditRiver-Zhang/ICEdit
https://huggingface.co/sanaka87/ICEdit-MoE-LoRAsanaka87/ICEdit-MoE-LoRA
In-Context LoRA同様、参照画像を左に置き、右側をマスクとし、適切なプロンプト(in‑context edit prompt)で指示することで画像編集を行う
LoRA‑MoE
MM Attentionの出力投影層に複数のLoRAアダプタを並列に配置
各専門家は異なる編集パターン(スタイル変換、除去、補完など)にフォーカス
入力トークン(視覚トークン+テキスト埋め込み)を受け取り、どのLoRA専門家を用いるかを分類器が予測する
サンプリングの初期で一度VLMに渡しプロンプトとの適合度を測る
スコアが高いものを選び次へ進む
ComfyUI_workflow
モデルのダウンロード
🚨ComfyUIではMoEモデルを扱えないので、ノーマルverのLoRAを使う
https://huggingface.co/RiverZ/normal-lora/tree/mainnormal-lora
🧬ComfyUIで正しく動作させるために必要(?)
https://github.com/hayd-zju/ICEdit-ComfyUI-officialhayd-zju/ICEdit-ComfyUI-official
https://gyazo.com/c10fa8180b1187bae8fa9fbf90ed2a57
ICEdit.json
🟪Flux Fillモデル(これはGGUF)とnormal-loraを読み込み
🟫In-context系なので、参照画像と編集後画像が横並べで出力されるため、右半分だけクロップする
🚨シードにかなり結果が左右されるため、上手く編集ができなくても、シードガチャすると上手くいくことが多い
本来これをVLMで自動化しているのだけど、ComfyUIには実装されていないので(ゴリ押しすればできるけど)、手動でガチャる
ICEdit用のカスタムノードを使わないでやる
https://gyazo.com/30b308d00efff3e49d3563cc3030e8c9
ICEdit_wo_customnode.json
🟩InContextEditInstructionノードは、入力テキストの前に、A diptych with two side-by-side images of the same scene.On the right, the scene is the same as on the left butを追加しているだけ
🟨In-Context編集のため左半分を参照画像、右半分をマスクで埋める必要があるため、DiptychCreateノードは、これを一つのノードでしている
こちらではimageは画像を複製して横並びに
マスクは、白と黒の矩形を作って横並びにし、それをComvert image to maskノードでマスクに変換している
🟦ICEFConditioningノードとInpaintModelConditioningノードの違いがよくわからなかったが、生成結果は同じになる
MLLMを使った条件分岐を使ってゴリ押しで同じようなことをやろうと思っていたことがありましたnomadoor.icon
関連
ACE++